package top.dingwen.io.treasure.api.file;

import top.dingwen.io.treasure.api.base.constant.ApiConstant;

import java.io.InputStream;

/**
 * FileOperator : 文件操作
 *
 * @author dingwen
 * @since 2024/9/13 14:58
 */
@SuppressWarnings(ApiConstant.ALL)
public interface IFileOperator {
    /**
     * 文件预览
     *
     * @param stream 数据流
     */
    default void preview(InputStream stream) {
        throw new UnsupportedOperationException();
    }


    /**
     * 文件上传
     *
     * @param inputStream 数据流
     * @return {@link String } 文件地址: 本机地址或者网络地址
     */
    default String upload(InputStream inputStream) {
        throw new UnsupportedOperationException();
    }


    /**
     * 文件下载
     *
     * @param address 文件位置:  本机地址或者网络地址
     */
    default void download(String address) {
        throw new UnsupportedOperationException();
    }
}
